/* universal styling for all elements */
*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

/* sets the body's background colour */
body{
    background-color: rgb(226, 226, 226);
}

/* sets the default font to Poppins and changes the default colour */
body{ 
    font-family: 'Poppins', sans-serif;
    color: rgb(41, 41, 41);
}

/* sets the height of the navigation bar placeholder */
.header-placeholder{ 
    height: 103.33px;
}

/* styles the navigation bar and position*/
nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    min-height: 8vh;
    background-color: #1e7974;
    position: sticky;
	top: 0;
    width: 100%;
    z-index: 2;
}

/* sets the background of the header bar to an opacity of 0.9 when the user scrolls */
nav.active {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #1e7974;
	opacity:0.9;
    min-height: 8vh;
    position: sticky;
	top: 0;
    width: 100%;
    z-index: 2;
	transition: all 0.6s;
}

/* styles the position of the navigation links */
.nav-links{
    display: flex;
    justify-content: space-around;
    width: 40%;
}

/* styles the text of the navigation bar links */
.nav-links a{ 
    color: rgb(226, 226, 226);
    text-decoration: None;
    font-size: 16px;
    letter-spacing: 2px;
}

/* styles the text of the navigation bar links, when they're hovered over */
.nav-links a:hover{ 
    opacity: 0.5;
    text-decoration: None;
}

/* removes bullet points from the navigation bar links */
.nav-links li{ 
    list-style: none;
}

/* styles logo */
.logo{ 
    padding-top: 10px;
    padding-bottom: 10px;
	z-index: 2;
}

/* styles logo when hovered over */
.logo img:hover{ 
    opacity: 0.5;
    cursor: pointer;
}

/* hides burger and creates a pointer cursor when hovered over */
.burger { 
    display: none; 
    cursor: pointer;
}

/* styles burger */
.burger div{
    width: 23px;
    height: 3px;
    background-color: rgb(226, 226, 226);
    margin: 5px;
    transition: all 0.3s ease;
}

/* styling contents when the max-width is 1024px */
@media screen and (max-width:1024px){
    body{ 
        overflow-x: hidden;
    }

    /* styles and adds transition and transformation to the navigation bar links */
    .nav-links{ 
        position: absolute; 
        right: 0px; 
        height: 92vh;
        top: 8vh; 
        background-color: #1e7974;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 40%;
        transform: translateX(100%);
        transition: transform 0.5s ease-in;
    }

    /* styles the navigation bar links */
    .nav-links li{ 
        opacity: 0;
    } 

    /* sets the burger to block positioning */
    .burger{ 
        display: block;
    }
}

/* moves the navigation links from the right, with an opacity fade in effect */
.nav-active{ 
    transform: translateX(0%);
}

@keyframes navLinkFade{
    from{ 
        opacity: 0;
        transform: translateX(50px);
    }
    to{ 
        opacity: 1;
        transform: translateX(0px);
    }
}

/* tranforms and translates the first line of the burger menu */
.toggle .line1{ 
    transform: rotate(-45deg) translate(-5px,6px);
}

/* sets the opacity of the second line of the burger menu */
.toggle .line2{ 
    opacity: 0;
}

/* tranforms and translates the third line of the burger menu */
.toggle .line3{ 
    transform: rotate(45deg) translate(-5px,-6px);
}

/* styles the footer section */
.footer{ 
    background-color: rgb(41, 41, 41);
    padding: 40px 0;
}

/* styles the footer section */
.footer .social { 
    text-align: center;
    padding-bottom: 25px;
    color: rgb(226, 226, 226);
}

/* styles the footer's social media icons */
.footer .social a { 
    font-size: 24px;
    color: inherit;
    border: 1px solid rgb(226, 226, 226);
    width: 40px; 
    height: 40px;; 
    line-height: 38px;
    display: inline-block;
    text-align: center;
    border-radius: 50%;
    margin: 0 8px;
    opacity: 0.75;
}

/* styles the footer's social media icons when hovered over */
.footer .social a:hover { 
    opacity: 1;
}

/* styles the footer's page links */
.footer ul { 
    margin-top: 0; 
    margin-bottom: 0;
    list-style: none;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: center;
}

/* styles the footer's page links */
.footer ul a { 
    color: rgb(226, 226, 226);
    text-decoration: none;
    opacity: 0.8;
}

/* positions the footer's page links */
.footer ul li {
    display: inline-block;
    padding: 0 15px;
}

/* styles the footer's page links when hovered over */
.footer ul li a:hover{ 
    opacity: 1;
}

/* styles the copyright text on the footer */
.footer .copyright{ 
    margin-top: 15px;
    text-align: center;
    font-size: 14px;
    color:rgb(102, 102, 102);
}

/* styles the content when the max-width is 1285px */
@media screen and (max-width:1285px){

    /* changes the font size of the navigation elements */
    .footer ul a {
        font-size: 15px;
    }
}

/* styles and positions the back to top button */
#btnScrollToTop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 50px; 
    height: 50px; 
    border-radius: 50%;
    background-color: #d64567;
    box-shadow: 0 0 10px rgb(0, 0, 0, 0.25);
    color: rgb(226, 226, 226);
    outline: none;
    cursor: pointer;
    border: none;
}

/* styles the back to top button when hovered over */
#btnScrollToTop:hover {
    background-color: #9e2541;
}

/* styles the contact us heading text's background */
.contact-us-header{ 
    width:100%;
    height:150px; 
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("../../assets/contact-us-banner-police-men.jpg");
    background-repeat: no-repeat;
    justify-content: center;
    display: flex;
    align-items: center;
}

/* styles the contact us heading text */
.contact-us-header h1{ 
    font-size: 3em;
    color: rgb(226, 226, 226);
    text-align: center;
}

/* styles the contact us text positioning*/
.contact-us-text{
    height:100px;
    padding-top:1em;
    justify-content: center;
    display: flex;
    align-items: center;
}

/* styles the contact us paragraph text */
.contact-us-text p{
    margin-left:150px;
    margin-right:150px;
    text-align: center;
    color: rgb(41, 41, 41);
    font-size: 16px;
}

/* styles the contact us text when the max-width is 1150px */
@media screen and (max-width:1150px){
    .contact-us-text p{
        font-size: 16px;
        margin-left:20px; 
        margin-right:20px;
    }
}

/* styles the contact us text when the max-width is 920px */
@media screen and (max-width:920px){
    .contact-us-text p{
        font-size: 12px;
        margin-left:5px; 
        margin-right:5px;
    }
}

/* sets the width of the contact-body */
.contact-body{
    max-width: 100%;
}

/* sets the position of the contents inside the contact-info's div */
.contact-info{
    text-align:center;
}

/* sets the position of the contact icons */
.contact-info span{
    display: block;
}

/* adds padding and margin to each contact info's detail */
.contact-info div{
    margin: 0.8rem 0;
    padding: 1rem;
}

/* styles and sets the position of the contact info's icons */
.contact-info span .fas{
    font-size: 2rem;
    padding-bottom: 0.9rem;
    color:#d64567;
}

/* styles and sets the size of the contact info's icons */
.contact-info div span:nth-child(2){
    font-weight: 500;
    font-size: 1.1rem;
}

/* adds padding to the contact info's text */
.contact-info .text{
    padding-top: 0.4rem;
}


/* when the max-width of the screen size is 768px the contact info is desplayed within two rows and two columns */
@media screen and (min-width: 768px){
    .contact-info{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

/* when the max-width of the screen size is 1200px, the contact info is desplayed within four rows and one column */
@media screen and (min-width: 1200px){
    .contact-info{
        grid-template-columns: repeat(4, 1fr);
    }
}

